<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>JSON 的 3 种形式</title>
  </head>
  <body>
    <script>
      // 1.简单值形式
      // .json

      // JSON 的简单值形式就对应着 JS 中的基础数据类型
      // 数字、字符串、布尔值、null

      // 注意事项
      // ① JSON 中没有 undefined 值
      // ② JSON 中的字符串必须使用双引号
      // ③ JSON 中是不能注释的

      // 2.对象形式
      // JSON 的对象形式就对应着 JS 中的对象

      // 注意事项
      // JSON 中对象的属性名必须用双引号，属性值如果是字符串也必须用双引号
      // JSON 中只要涉及到字符串，就必须使用双引号
      // 不支持 undefined

      // 3.数组形式
      // JSON 的数组形式就对应着 JS 中的数组

      // [1, "hi", null]

      // 注意事项
      // 数组中的字符串必须用双引号
      // JSON 中只要涉及到字符串，就必须使用双引号
      // 不支持 undefined

      const xhr = new XMLHttpRequest();

      xhr.onreadystatechange = () => {
        if (xhr.readyState != 4) return;

        if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {
          console.log(xhr.responseText);
          console.log(typeof xhr.responseText);
        }
      };

      // xhr.open('GET', './plain.json', true);
      // xhr.open('GET', './obj.json', true);
      xhr.open('GET', './arr.json', true);

      xhr.send(null);
    </script>
  </body>
</html>
